Applications for graphical displays, e.g., cathode ray tube and the like, in the last few years has witnessed explosive growth. Many of these displays are required to illustrate, simulate or display complex curves. The combination of the need for flicker-free displays coupled with the complexity in the patterns to be displayed has caused the devices used to drive the display to become more complex and costly. The only relief from this tendency has been to reduce resolutions or to employ approximations to the graphic actually desired to be displayed, so as to simplify the apparatus required to drive the display. In most instances the approximation or resolution reduction is required as a practical matter while the user still desires a high resolution, exact display. Unfortunately, however, high resolution, exact displays were often impossible to achieve because the concurrent requirements of flicker-free displays (requiring approximately 30 frames per second) coupled with the high computational load needed to determine many coordinate pairs (for example, at least 1000 per frame).
One other difficulty further multiplying the complexity has been the apparent necessity to employ unique circuits or circuit combinations for generating signals to display different graphics, i.e., a typical prior art display generator might employ a collection of circuits to display linear graphics, a different circuit or circuit combination to generate circular graphics and still further circuit combinations to generate ellipses. In some instances, some of the circuitry was employed in common, but still each different form of graphic required at least some unique circuitry. Obviously, complexity could be reduced if common circuitry could be employed to generate line, circle and ellipse (or ellipse portion) graphics.
As is well known to those skilled in the art, in many instances, complex circuits which are designed to solve specific forms of equations can also be replaced by a stored program processor with a program which simulates the operation of the circuit in random access logic rather than in fixed discrete logic. This ability of the prior art to substitute stored program processing power for discrete circuits does not result in the solution of the problems mentioned above since each of the various forms of graphic require different subroutines and therefore, generation of an entire frame may require a stored program processor to refer to a multiplicity of routines which result in a similar computational load.
The display of three-dimensional objects on a two dimensional display appears to require the ability to display circles, straight lines and ellipses. In particular, an isometric drawing of a circle, for example, is in the form of an ellipse, and therefore, many two dimensional displays of three-dimensional objects consist of straight lines and ellipses or portions of ellipses. If the object to be displayed is to be displayed as moving (e.g., rotating, translating and changing in overall size) a non-flickering display of 30 frames per second can require the sequential generation in tens of microseconds of each of the lines and/or ellipses comprising the figure. This may readily result in an uneconomical computational burden when the figures are composed of graphics which are described in polynomial form, the solution to which requires a complex operation such as multiplication, division and/or square rooting.
A typical example of a display device which can be improved in accordance with the present invention is described in U.S. Pat. No. 4,181,956 issued Jan. 1, 1980 to Schwab et al entitled "Digital Indicia Generator Employing Compressed Data" and assigned to the assignee of this application. In the Schwab et al patent, a display generator for displaying straight lines is disclosed which employs a first order approximation to an exact straight line display, when used with a polar swept display, i.e., R-.theta., rather than a Cartesian sweep. In order to produce a display illustrating a reasonably straight line, especially for indicia which are relatively long, the straight line desired to be displayed is broken up into segments within which the first order approximation employed is accurate within an acceptable tolerance. Since the display generator does not automatically segment the indicia sought to be displayed, this is a burden placed on the operator which would not at all be necessary if the display generator operated to produce the indicia actually sought to be displayed, i.e., a straight line, and this burden could be eliminated by a display generator operating with exact rather than approximate processes. In addition, the approximation produces a sequence of segments, each at an angle to its neighbors so that the straight line approximation is in reality a sawtooth type indicia.
It is therefore one object of the present invention to provide a display generator which is capable of generating those signals necessary for use with a display having a predetermined sweep pattern, to display lines, circles and ellipses. It is a further object of the present invention to meet the foregoing object at the same time by the use of circuits and/or routines which do not require the complex processes such as multiplication, division or square rooting. It is a further object of the invention to provide a display generator capable of displaying straight lines, circles and ellipses which can be implemented with relatively simple digital circuitry or processes requiring only essentially the digital operations of shifting and addition and eliminating, almost entirely, the more complex operations of multiplication, division and/or square rooting. It is a further object of the invention to meet the foregoing objects in a device which is capable of use with different sweep patterns, e.g., Cartesian sweeps and/or polar sweeps.